// 標準 data 數據 格式
// {
// 	DefaultData: ["data"],
// 	data: ["a", "b"],
// 	a: {},
// 	b: {}
// }
// 在 元素上 添加属性时 在data 中记录一次 其他覆盖

/**
 * 監聽了一下 設置值 往 data 中 傳數據
 * @param {Object} userObj
 */
function ProxyData(userObj) {
	let handler = {
		set(obj, prop, value) {
			if (obj["data"].indexOf(prop) == -1) {
				obj["data"].push(prop)
			}
			obj[prop] = value
		}
	}
	if (userObj == undefined) {
		userObj = {}
	}
	userObj["DefaultData"] = ["data","introduce"]
	userObj["data"] = []

	Reflect.ownKeys(userObj).forEach(key => {
		if (key != "data" && key != "DefaultData") {
			userObj["data"].push(key)
		}
	})

	return new Proxy(userObj, handler)
}
